﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using BBMS.DLL.DataContract;
using BBMS.DLL.Base;
using BBMS.DLL.Forms.Base;
using ExcelLibrary.SpreadSheet;
namespace BBMS.DLL.Forms.Catalog.Company
{
    public partial class FrmCompanyFilter : BBMS.DLL.Forms.Base.FrmFilterBase
    {
        public new static readonly string FunctionKey = "DMCTyThuHo";
        protected override string GetFunctionKey() { return "DMCTyThuHo"; }
        protected override ObjectBase GetObjectBase() { return new CTyThuHo(); }

        public FrmCompanyFilter()
        {
            InitializeComponent();
        }
        protected override void GenColHeaders()
        {
            lvList.Clear();
            lvList.Columns.Add("Mã", 80);
            lvList.Columns.Add("Tên", 250);
            lvList.Columns.Add("Số điện thoại", 100);
            lvList.Columns.Add("Địa chỉ", 250);
        }
        //protected override ArrayList GenSampleData()
        //{
        //    ArrayList ar = new ArrayList();
        //    ar.Add(new string[] {"Mã công ty","Tên công ty", "Điện thoại","Địa chỉ"});
        //    ar.Add(new string[] { "AIG", "Công ty AIG", "+84 (0)420303403", "45 Cầu Giấy - Hà Nội" });
        //    ar.Add(new string[] { "BIGCHN", "BigC Hà Nội", "+84 (0)42032303", "Đường Phạm Hùng - Cầu Giấy - Hà Nội" });
        //    // define col width
        //    //ar.Add(new int[] { 100, 300, 100, 300 });
        //    return ar;
        //}

        protected override ArrayList GenSampleData()
        {
            ArrayList ar = new ArrayList();
            ar.Add(new string[] { "Mã công ty", "Tên công ty", "Điện thoại", "Địa chỉ" });
            CTyThuHo ctyThuHoList = new CTyThuHo();
            ArrayList arr = ctyThuHoList.GetAllObject(fParams);
            if (arr != null)
            {
                for (int i = 0; i < arr.Count; i++)
                {
                    CTyThuHo ctth = (CTyThuHo)arr[i];
                    ar.Add(new string[] { ctth.Ma, ctth.Ten, ctth.DienThoai, ctth.DiaChi });
                }
            }
            return ar;
        }

        protected override ArrayList GetImportedList(Worksheet sheet)
        {
            ArrayList arret = new ArrayList();
            for (int i = 1; i < sheet.Cells.Rows.Count; i++)
            {
                CTyThuHo ctth = new CTyThuHo();
                Cell cell = sheet.Cells[i, 0];
                ctth.Ma = cell.Value.ToString();
                cell = sheet.Cells[i, 1];
                ctth.Ten = cell.Value.ToString();
                cell = sheet.Cells[i, 2];
                ctth.DienThoai = cell.Value.ToString();
                cell = sheet.Cells[i, 3];
                ctth.DiaChi = cell.Value.ToString();
                arret.Add(ctth);

            }
            return arret;
        }

      

        /*protected override void ListObject()
        {
            lvList.Items.Clear();

            ArrayList arComs = null;
            if(this.fParams.ArParams == null || this.fParams.ArParams.Count == 0)
                arComs = new BBMS.DLL.DataContract.CTyThuHo().GetAllObject();

            if (arComs == null || arComs.Count == 0)
                MessageBox.Show("Không có bản ghi nào trong cơ sở dữ liệu.");
            else {
                foreach(BBMS.DLL.Base.ObjectBase obj in arComs){
                    AddNewObjectToList(obj);
                }
            }
        }*/

        protected override void UpdateFilterParams()
        {
        }

        protected override FrmEditBase CreateEditForm(ObjectBase obj)
        {
            return new FrmCompanyUpdate(obj);
        }

        protected override void AddNewObjectToList(BBMS.DLL.Base.ObjectBase obj)
        {
            ListViewItem it = new ListViewItem(((CTyThuHo)obj).Ma);
            it.SubItems.Add(((CTyThuHo)obj).Ten);
            it.SubItems.Add(((CTyThuHo)obj).DienThoai);
            it.SubItems.Add(((CTyThuHo)obj).DiaChi);
            it.Tag = obj;
            lvList.Items.Add(it);
        }

        protected override void UpdateObjectToList(BBMS.DLL.Base.ObjectBase obj)
        {
            foreach (ListViewItem it in lvList.Items)
            {
                if (((CTyThuHo)it.Tag).Ma == ((CTyThuHo)obj).Ma)
                {
                    it.SubItems[1].Text = ((CTyThuHo)obj).Ten;
                    it.SubItems[2].Text = ((CTyThuHo)obj).DienThoai;
                    it.SubItems[3].Text = ((CTyThuHo)obj).DiaChi;
                    it.Tag = obj;
                    break;
                }
            }
        }
    }
}
